<?php
if (@$errors['inserting']['connecting']) {
?>
        <p style="text-align: center;"><strong><?php echo @$errors['inserting']['connecting']; ?></strong></p>
<?php
}
else if (@$errors['inserting']['query']) {
?>
        <p style="text-align: center;"><strong><?php echo @$errors['inserting']['query']; ?></strong></p>
<?php
}

בלי השטרודלים PHP זרק לי 2 שגיאות. אני מודע לכך שלא תמיד כשהסקריפט הזה ירוץ המערכים האלה יהיו קיימים, אבל אין דרך למנוע מ-PHP לזרוק לי שגיאות על זה חוץ מלהוסיף שם שטרודלים או לבדוק קודם אם הם הוגדרו באמצעות isset?

11 תשובות

avatar ענה OrelBeY ב 12 לאוגוסט 2012 #

(טעות שלי; לא הייתי צריך להוסיף שטרודלים ב-echo.)

avatar ענה razand ב 12 לאוגוסט 2012 #

בכלל לא היית צריך להוסיף שטרודלים...

avatar ענה JBStyle ב 12 לאוגוסט 2012 #

מה רע בisset ?

avatar ענה OrelBeY ב 12 לאוגוסט 2012 #

כי יכול להיות שזה יהיה קיים אבל יכיל false, כך שבעצם אצטרך לכתוב יותר מתנאי אחד, אז אני מעדיף פשוט שטרודל.

avatar ענה nirbe ב 12 לאוגוסט 2012 #

זה לא קשור לנושא, אבל פעם ראשונה שאני רואה שימוש ב @, מה זה עושה בדיוק?

avatar ענה Y_Y ב 12 לאוגוסט 2012 #

nirbe-התעלמות משגיאות ואזהרות

avatar ענה xzxxx7 ב 12 לאוגוסט 2012 #

מישהו פעם ניסח את השימוש בשטרודל ככה: (אין לי מושג מי XD)
"להשתמש בשטרודל זה כמו שתגיד לרופא שכואבת לך האוזן אז הוא יכרות אותה.", אני די מסכים איתו.
אין שום סיבה הגיונית להשתמש בשטרודל, אתה לא רוצה שיופיע שגיאות? תבטל אותן בPHP.INI, אין שום סיבה שהמנוע יבנה את השגיאה ולא יציג אותה.

בדיוק בשביל המצב שלך את את הפונקצה IsSet:

<?php if(isset($errors['inserting']['connecting'])): ?>
    <p style="text-align: center;"><strong><?php echo $errors['inserting']['connecting']; ?></strong></p>
<?php endif(isset($errors['inserting']['query'])): ?>
    <p style="text-align: center;"><strong><?php echo $errors['inserting']['query']; ?></strong></p>
<?php endif; ?>


במצב של "כי יכול להיות שזה יהיה קיים אבל יכיל false", תשתמש בEMPTY

בהצלחה D:

avatar ענה OrelBeY ב 12 לאוגוסט 2012 #

אני רוצה שהוא יציג שגיאות, אבל לא שגיאות שאני מטפל בהן בעצמי.

אה, לא ידעתי ש-empty מחזירה false כשהמשתנה מכיל false. תודה. :)

avatar ענה OrelBeY ב 14 לאוגוסט 2012 #

יש ב-JS פונקציה כמו empty של PHP?

avatar ענה JBStyle ב 14 לאוגוסט 2012 #

לא חושב, אבל תוכל ליצור מימוש שלה .
בPHP הפונקציה empty עובדת באותה צורה של התנאי:
!isset($var) || $var == false

avatar ענה OrelBeY ב 14 לאוגוסט 2012 #

וזה לא יזרוק לי שגיאה אם המשתנה לא קיים?